package com.ryskoo.customer.vendormanager.service;

import com.ryskoo.customer.vendormanager.domain.VendorManagerPO;
import com.ryskoo.framework.core.service.IBasicService;

import java.util.List;

/**
 * 权限服务-管理员管理服务接口
 *
 * @author Shawn
 */
public interface IVendorManagerService extends IBasicService<VendorManagerPO> {

	/**
	 * 根据用户名查询管理员信息
	 *
	 * @param userName
	 *            管理员登录账户
	 * @return 管理员信息 {@link VendorManagerPO}
	 */
	VendorManagerPO getManagerByLoginName(String userName);

	/**
	 * 根据 商户uuid和是否超级管理员， 查找对应的员工
	 * 
	 * @param vendorUuids
	 * @param superManager
	 * @return
	 */
	List<VendorManagerPO> getVendorManagerByVendorUuid(List<String> vendorUuids, Boolean superManager);

	/**
	 * 修改员工登录密码
	 * @param vendorManager 员工信息
	 */
    void modifyPassword(VendorManagerPO vendorManager);

	/**
	 * 根据商户和员工类型查询员工
	 * @param vendorUuid
	 * @param type
	 * @return
	 */
	List<VendorManagerPO> getManagerByVendorUuidAndType(String vendorUuid,int type);

	/**
	 * 修改员工状态
	 * @param employeeUuid
	 * @param state
	 */
	void changeState(String employeeUuid,boolean state);

	/**
	 * 创建员工
	 * @param vendorManagerPO
	 */
	void createVendorManager(VendorManagerPO vendorManagerPO);

	/**
	 * 更新员工信息
	 * @param vendorManagerPO
	 */
	void updateVendorManager(VendorManagerPO vendorManagerPO);
}
